package com.lframework.xingyun.basedata.service.product;

import com.lframework.starter.web.core.service.BaseMpService;
import com.lframework.xingyun.basedata.entity.ProductCostCard;
import com.lframework.xingyun.basedata.vo.product.costcard.CreateProductCostCardVo;
import com.lframework.xingyun.basedata.vo.product.costcard.UpdateProductCostCardVo;
import java.util.List;

/**
 * 商品成本卡服务
 *
 * @author zmj
 * @since 2024-01-01
 */
public interface ProductCostCardService extends BaseMpService<ProductCostCard> {

  /**
   * 创建成本卡
   *
   * @param vo
   */
  void create(CreateProductCostCardVo vo);

  /**
   * 更新成本卡
   *
   * @param vo
   */
  void update(UpdateProductCostCardVo vo);

  /**
   * 根据商品ID查询成本卡
   *
   * @param productId
   * @return
   */
  ProductCostCard getByProductId(String productId);

  /**
   * 根据商品ID列表查询成本卡
   *
   * @param productIds
   * @return
   */
  List<ProductCostCard> getByProductIds(List<String> productIds);

  /**
   * 删除成本卡
   *
   * @param id
   */
  void delete(String id);

  /**
   * 根据商品ID删除成本卡
   *
   * @param productId
   */
  void deleteByProductId(String productId);
} 